package com.dcm.live.service;

import com.dcm.live.entity.LiveItemEntity;
import com.dcm.live.vo.DataAnalysisEntity;
import com.dcm.live.vo.FrontDeskEntity;
import com.dcm.live.vo.LiveRoomdtoEntity;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author pengrongsheng
 */
public interface LiveItemService {
    /**
     * 获得所有商品列表
     * @return List<TbItem>
     */
    List<LiveItemEntity> findAll();

    /**
     * 根据id查询商品
     * @param id 主键
     * @return
     */
    LiveItemEntity findItemById(Long id);
    /**
     * 添加商品
     * @param item 前台传递的 实体对象
     */
    void addItem(LiveItemEntity item);

    /**
     * 根据 关键字 查询
     * @param keyWords 关键字
     * @return
     */
    List<LiveItemEntity> findItemByKeyWords(String keyWords);


    /**
     * 修改 item
     * @param item 前台传递的 实体对象
     */
    void updateItemStatus(LiveItemEntity item);


    /**
     * 分页
     * @param currentPage 当前页
     * @param pageSize 分页单位
     * @return 分页结果
     */
    PageInfo<LiveItemEntity> findPage(Integer currentPage, Integer pageSize);

    /**
     * 数据分析 计算下单量、成交量、收货量、退货量
     * @param id
     * @return DataAnalysisEntity
     */
    DataAnalysisEntity dataAnalysis(Long id);

    /**
     * 数据分析 直播商品点击次数、下单次数
     * @param id
     * @return
     */
    FrontDeskEntity fondest(Long id);

    /**
     * 创建直播间
     * @param liveRoomDtoEntity
     */
    void establishBroadcasting(LiveRoomdtoEntity liveRoomDtoEntity);
}
